class Usuario < ActiveRecord::Base
  attr_accessible :apt, :bairro, :cidade, :estado, :login, :nome, :numero, :rua, :senha, :telefone, :senha_confirmation, :type
  before_save :criptografa_senha
  
  validates_presence_of :login
  validates_presence_of :nome
  validates_presence_of :senha, :on => :create
  validates_confirmation_of :senha
  validates_uniqueness_of :login
  
  def criptografa_senha
	if senha.present?
		self.senha_salt = BCrypt::Engine.generate_salt
		self.senha = BCrypt::Engine.hash_secret(senha, senha_salt)
	end
  end
  
  def self.autentica(login, senha)
	usuario = Usuario.find_by_login(login)
	
	if usuario && usuario.senha = BCrypt::Engine.hash_secret(senha, usuario.senha_salt)
		usuario
	else
		nil
	end
  end
end
